#一：基本使用
# 1 用途：存放多个值，可以根据索引存取值

# 2 定义方式：在[]内用逗号分割开多个任意类型的值
# l=['dahai','lxx','yxx'] # l=list(['dahai','lxx','yxx'])
# 查
# 3 常用操作+内置的方法
#优先掌握的操作：
#1、按索引存取值(正向存取+反向存取)：即可存也可以取
L = ['大海',1,1.2,[1,'小海']]
#     0     1  2    3
print(type(L))
print(L)
# 索引从0开始  相当于我们书的页码
print(L[0])
print(L[1])
print(L[-1]) # 反向取
print(L[3]) # 正向取
L[0]='红海'
print(L)
# 2、切片(顾头不顾尾，步长)
# 查找列表当中的一段值 [起始值:终止值:步长]
# 和字符串提取字符一样,只不过字符串取的是字符，列表取的是一个数据类型/元素
# 但是字符串不能索引改值
print(L[0:4])
print(L[0:3:1])
# # 默认步长为1
# print(L[0:3:2])
# # 3.len长度  列表元素的多少
# print(len(L))
# # 4.成员运算in和not in
print('红海' in L)
print('红海'not in L)
# # 查看列表某个元素的个数 count
print(L.count('红海'))
# # 在列表中从左至右查找指定元素，找到了放回该值的下标/索引
# #  index(查询元素，起始位置，结束位置) 不写默认全部
# #  就相当于去酒店查房 多少号房
print(L.index('红海'))
# print(L.index('红海',2,3))
# #增
#
# # append(元素) 往列表末尾追加一个元素
# L.append('蓝海')
# print(L)
# # 规律列表的修改和增加都不需要重新复制，直接改变了原值，所以是可变类型
# # 字符串，数字，布尔，复数 都是一个值，改变需要重新赋值，都是不可变类型
L.append('蓝海')
print(L)
# # insert(索引，元素) 往指定索引位置前插入一个元素，从指定元素开始其它元素后移
L.insert(0,'黄海')
print(L)
# # extend() 往列表当中添加多个元素 括号里放列表 也是末尾追加
# L.extend(['绿海','紫海'])
# print(L)
#
# # 删除
del L[0]
print(L)
# # 指定删除
# L.remove('紫海')
# print(L)
#
# # pop # 从列表里面拿走一个值
# # L.pop()
# # # 按照索引删除值
# # # 默认是删除最后一个
# # print(L)
# # res=L.pop(0)
# # print(L)
# # print(res)
#
# # 清空列表clear
# # L.clear()
# # print(L)
#
# # 改
# L[0]='白海'
# print(L)
#
# # 反序
# L.reverse()
# print(L)
#
# # sort 排序 对数字
# list_num = [1,3,2,5]
# # 不写默认是正序
# # reverse=True参数是倒序
# list_num.sort(reverse=True)
# print(list_num)
# # reverse=False参数是正序
# list_num.sort(reverse=False)
# print(list_num)